home *** CD-ROM | disk | FTP | other *** search
Text File | 1989-10-15 | 17.5 KB | 742 lines | [TEXT/PJMM] |
- UNIT StdWindows;
- {***********************************}
- INTERFACE
-
- USES
- MemTypes, QuickDraw, OSIntf, ToolIntf, PackIntf, MacPrint, ObjIntf, GlobalStuff, StdScroll, MyDocuments;
-
- TYPE
- TWindow = OBJECT(TObject)
- fWKind: Integer;
- fWPtr: WindowPtr;
- fControlRgn: RgnHandle;
- fDisplayRgn: RgnHandle;
- oDocument: TDocument;
- FUNCTION ControlRgn: RgnHandle;
- FUNCTION DisplayRgn (vCtlRgn: RgnHandle): RgnHandle;
- PROCEDURE Initialize;
- PROCEDURE DoNew (vDocType: OSType);
- PROCEDURE DoOpen (vFileName: Str255;
- vVolNum: Integer);
- FUNCTION Saved (vSaveAs: BOOLEAN): BOOLEAN;
- PROCEDURE DoClose;
- PROCEDURE DoPrint;
- PROCEDURE ApplTask;
- PROCEDURE ReDrawContent;
- PROCEDURE Grow;
- PROCEDURE Zoom (vPart: Integer);
- PROCEDURE ClickInContent (vPt: Point);
- PROCEDURE ClickInWindow (vPart: Integer);
- PROCEDURE KeyPress (vChar: CHAR);
- PROCEDURE Update;
- PROCEDURE Activate;
- PROCEDURE Edit (vItem: Integer);
- PROCEDURE Free;
- override;
- END;
-
- TGrowWindow = OBJECT(TWindow)
- FUNCTION ControlRgn: RgnHandle;
- override;
- PROCEDURE Initialize;
- override;
- PROCEDURE Grow;
- override;
- PROCEDURE Activate;
- override;
- END;
-
- TScrollWindow = OBJECT(TGrowWindow)
- oVBar: TScrollBar;
- oHBar: TScrollBar;
- FUNCTION ControlRgn: RgnHandle;
- override;
- PROCEDURE DoNew (vDocType: OSType);
- override;
- PROCEDURE DoOpen (vFileName: Str255;
- vVolNum: Integer);
- override;
- PROCEDURE ReDrawContent;
- override;
- PROCEDURE ClickInContent (vPt: Point);
- override;
- PROCEDURE KeyPress (vChar: CHAR);
- override;
- PROCEDURE Activate;
- override;
- PROCEDURE Edit (vItem: Integer);
- override;
- PROCEDURE Free;
- override;
- END;
-
- TScrollZoomWindow = OBJECT(TScrollWindow)
- PROCEDURE Initialize;
- override;
- PROCEDURE Zoom (vPart: Integer);
- override;
- END;
-
- VAR
- oWindow: TWindow;
-
- FUNCTION DuplicateFileName (vWPtr: WindowPtr;
- vFileName: Str255;
- VAR vNextWindow: WindowPeek): BOOLEAN;
-
- {***********************************}
- IMPLEMENTATION
-
- VAR
- uNr: Str255;
- uRect: Rect;
- uTitle: Str255;
- uVisible: BOOLEAN;
- uWindID: Integer;
- uGoAway: BOOLEAN;
- uRefVal: longint;
-
- {========================================}
- FUNCTION DuplicateFileName (vWPtr: WindowPtr;
- vFileName: Str255;
- VAR vNextWindow: WindowPeek): BOOLEAN;
- BEGIN
- DuplicateFileName := FALSE;
- vNextWindow := WindowPeek(vWPtr);
- REPEAT
- uTitle := vNextWindow^.titleHandle^^;
- IF vFileName = uTitle THEN
- BEGIN
- DuplicateFileName := TRUE;
- leave;
- END;
- vNextWindow := vNextWindow^.nextWindow;
- UNTIL (vNextWindow = NIL);
- END; {DuplicateFileName}
-
- {========================================}
- FUNCTION TWindow.ControlRgn: RgnHandle;
- VAR
- vRgn: RgnHandle;
-
- BEGIN
- vRgn := NewRgn;
- SetEmptyRgn(vRgn);
- ControlRgn := vRgn;
- END; {ControlRgn}
-
- {- - - - - - - - - - - - - - - - - - -}
- FUNCTION TWindow.DisplayRgn (vCtlRgn: RgnHandle): RgnHandle;
- VAR
- vRgn: RgnHandle;
-
- BEGIN
- uRect := fWPtr^.portRect;
- vRgn := NewRgn;
- RectRgn(vRgn, uRect);
- DiffRgn(vRgn, vCtlRgn, vRgn);
- DisplayRgn := vRgn;
- END; {DisplayRgn}
-
- {----------------------------------------}
- PROCEDURE TWindow.Initialize;
- BEGIN
- GetIndString(uTitle, kStrListID, 1);
- uTitle := Concat(uTitle, uNr);
- uVisible := FALSE;
- uWindID := noGrowDocProc;
- uGoAway := TRUE;
- uRefVal := 0;
- END; {Initialize}
-
- {- - - - - - - - - - - - - - - - - - -}
- FUNCTION NewRect (vCount: Integer): Rect;
- VAR
- vOffset: Integer;
-
- BEGIN
- vOffset := (vCount - 1) * kWOffset;
- IF gMinWidth > gMinHeight THEN
- vOffset := vOffset MOD (gMinWidth - kWOffset)
- ELSE
- vOffset := vOffset MOD (gMinHeight - 2 * kWOffset);
-
- WITH ScreenBits.Bounds DO
- BEGIN
- NewRect.left := kScreenMargin + vOffset;
- NewRect.top := 2 * gMBarHeight + vOffset;
- NewRect.right := right - kScreenMargin - gMinWidth + vOffset;
- NewRect.bottom := bottom - kScreenMargin - gMinHeight + vOffset;
- END;
- END; {NewRect}
-
- {- - - - - - - - - - - - - - - - - - -}
- PROCEDURE TWindow.DoNew (vDocType: OSType);
- BEGIN
- gWCount := gWCount + 1;
- uRect := NewRect(gWCount);
- NumToString(gWCount, uNr);
- self.Initialize;
- fWPtr := NewWindow(NIL, uRect, uTitle, uVisible, uWindID, POINTER(-1), uGoAway, uRefVal);
- IF (fWPtr = NIL) THEN
- Exit(DoNew);
- SetWRefCon(fWPtr, Ord4(self));
- SetPort(fWPtr);
- fControlRgn := self.ControlRgn;
- fDisplayRgn := self.DisplayRgn(fControlRgn);
- IF vDocType = kTextDoc THEN
- New(TTextDocument(oDocument))
- ELSE IF vDocType = kPictDoc THEN
- New(TPictDocument(oDocument))
- ELSE
- ; {Initialize your own type of document}
- WITH oDocument DO
- BEGIN
- fViewRgn := self.fDisplayRgn;
- fViewRect := self.fDisplayRgn^^.rgnBBox;
- fDocType := vDocType;
- DoNew;
- END;
- END; {DoNew}
-
- {----------------------------------------}
- PROCEDURE TWindow.DoOpen (vFileName: Str255;
- vVolNum: Integer);
- VAR
- vFileNum: Integer;
-
- BEGIN
- IF OSError(FSOpen(vFileName, vVolNum, vFileNum)) THEN
- Exit(DoOpen);
- SetCursor(gWatch);
- oDocument.DoOpen(vVolNum, vFileNum);
- SetCursor(arrow);
- IF oDocument.fFileNum <> 0 THEN
- BEGIN
- SetWTitle(fWPtr, vFileName);
- InvalRgn(fDisplayRgn);
- END;
- IF OSError(FSClose(vFileNum)) THEN
- END; {DoOpen}
-
- {----------------------------------------}
- FUNCTION TWindow.Saved (vSaveAs: BOOLEAN): BOOLEAN;
- VAR
- vNewFile: BOOLEAN;
- vPt: Point;
- vText: Str255;
- vReply: SFReply;
- vErr: OSErr;
- vFInfo: FInfo;
- vFileNum: Integer;
- vVolNum: Integer;
- vType: OSType;
- vWPeek: WindowPeek;
- vOldWPtr: WindowPtr;
- oOldDoc: TDocument;
-
- BEGIN
- Saved := FALSE;
- GetWTitle(fWPtr, uTitle);
- vNewFile := (oDocument.fFileNum = 0);
- IF vSaveAs OR vNewFile THEN
- BEGIN
- CenterDialogBox(304, 184, vPt);
- GetIndString(vText, kStrListID, 2);
- SFPutFile(vPt, vText, uTitle, NIL, vReply);
- WITH vReply DO
- IF good THEN
- BEGIN
- vErr := GetFInfo(fName, vRefNum, vFInfo);
- IF DuplicateFileName(fWPtr, fName, vWPeek) THEN
- BEGIN
- self.Initialize;
- vOldWPtr := WindowPtr(vWPeek);
- SetWTitle(vOldWPtr, uTitle);
- oOldDoc := TWindow(GetWRefCon(vOldWPtr)).oDocument;
- vVolNum := oOldDoc.fVolNum;
- IF oOldDoc.fFileNum <> 0 THEN
- IF OSError(FSDelete(fName, vVolNum)) THEN
- Exit(Saved);
- oOldDoc.fFileNum := 0;
- oOldDoc.fChanged := TRUE;
- vErr := GetFInfo(fName, vRefNum, vFInfo);
- END;
- CASE vErr OF
- noErr:
- ;
- fnfErr:
- BEGIN
- vType := oDocument.fDocType;
- IF OSError(Create(fName, vRefNum, kCreator, vType)) THEN
- Exit(Saved);
- END;
- OTHERWISE
- IF OSError(vErr) THEN
- Exit(Saved);
- END;
- uTitle := fName;
- SetWTitle(fWPtr, uTitle);
- oDocument.fVolNum := vRefNum;
- END
- ELSE
- Exit(Saved);
- END;
- IF OSError(FSOpen(uTitle, oDocument.fVolNum, vFileNum)) THEN
- Exit(Saved);
- SetCursor(gWatch);
- oDocument.DoSave(vFileNum);
- SetCursor(arrow);
- IF OSError(FSClose(vFileNum)) THEN
- Exit(Saved);
- IF OSError(FlushVol(NIL, oDocument.fVolNum)) THEN
- Exit(Saved);
- Saved := TRUE;
- END; {Saved}
-
- {----------------------------------------}
- PROCEDURE TWindow.DoClose;
- VAR
- vNextWindow: WindowPeek;
-
- BEGIN
- IF oDocument.fChanged THEN
- BEGIN
- GetWTitle(fWPtr, uTitle);
- ParamText(uTitle, '', '', '');
- CenterMyDialog('ALRT', kSaveID);
- CASE Alert(kSaveID, NIL) OF
- OK:
- IF NOT self.Saved(FALSE) THEN
- Exit(DoClose);
- cancel:
- BEGIN
- gQuitting := FALSE;
- Exit(DoClose);
- END;
- OTHERWISE
- END;
- END;
- vNextWindow := WindowPeek(FrontWindow)^.nextWindow;
- IF (gWCount = 1) OR (vNextWindow^.windowkind <> userkind) THEN
- gCloseFlag := TRUE;
- gWCount := gWCount - 1;
- self.Free;
- END; {DoClose}
-
- {----------------------------------------}
- PROCEDURE DisplayPrintDialog (VAR vDPtr: DialogPtr);
- VAR
- vFlag: BOOLEAN;
- vDEvent: EventRecord;
- vDItem: Integer;
-
- BEGIN
- CenterMyDialog('DLOG', kPrintID);
- vDPtr := GetNewDialog(kPrintID, NIL, POINTER(-1));
- vFlag := GetNextEvent(updateMask, vDEvent);
- vFlag := DialogSelect(vDEvent, vDPtr, vDItem);
- END; {DisplayPrintDialog}
-
- {- - - - - - - - - - - - - - - - - - -}
- PROCEDURE TWindow.DoPrint;
- VAR
- vSavePort: GrafPtr;
- vPrPort: TPPrPort;
- vFlag: BOOLEAN;
- vPrStatus: TPrStatus;
- vDPtr: DialogPtr;
-
- BEGIN
- GetPort(vSavePort);
- SetCursor(gWatch);
- vPrPort := PrOpenDoc(gPrintHdl, NIL, NIL);
- IF OSError(PrError) THEN
- Exit(DoPrint);
- DisplayPrintDialog(vDPtr);
- oDocument.DoPrint(vPrPort);
- PrCloseDoc(vPrPort);
- vFlag := NOT OSError(PrError);
- vFlag := (gPrintHdl^^.prJob.bJDocLoop = bSpoolLoop) AND vFlag;
- IF vFlag THEN
- BEGIN
- SetCursor(gWatch);
- PrPicFile(gPrintHdl, NIL, NIL, NIL, vPrStatus);
- END;
- vFlag := OSError(PrError);
- DisposDialog(vDPtr);
- SetPort(vSavePort);
- END; {DoPrint}
-
- {----------------------------------------}
- PROCEDURE TWindow.ApplTask;
- BEGIN
- oDocument.ApplTask;
- END; {ApplTask}
-
- {----------------------------------------}
- PROCEDURE TWindow.ReDrawContent;
- BEGIN
- DisposeRgn(fControlRgn);
- DisposeRgn(fDisplayRgn);
- fControlRgn := self.ControlRgn;
- fDisplayRgn := self.DisplayRgn(fControlRgn);
- WITH oDocument DO
- BEGIN
- fViewRgn := self.fDisplayRgn;
- fViewRect := self.fDisplayRgn^^.rgnBBox;
- ReDraw;
- END;
- END; {ReDrawContent}
-
- {----------------------------------------}
- PROCEDURE TWindow.Grow;
- BEGIN
- END; {Grow}
-
- {- - - - - - - - - - - - - - - - - - -}
- PROCEDURE TWindow.Zoom;
- BEGIN
- END; {Zoom}
-
- {- - - - - - - - - - - - - - - - - - -}
- PROCEDURE TWindow.ClickInContent (vPt: Point);
- BEGIN
- GlobalToLocal(vPt);
- IF PtInRgn(vPt, fDisplayRgn) THEN
- oDocument.ClickInDoc(vPt);
- END; {ClickInContent}
-
- {- - - - - - - - - - - - - - - - - - -}
- PROCEDURE TWindow.ClickInWindow (vPart: Integer);
- VAR
- vSavePort: GrafPtr;
-
- BEGIN
- GetPort(vSavePort);
- SetPort(fWPtr);
- WITH gEvent DO
- CASE vPart OF
- inDrag:
- IF fWPtr <> FrontWindow THEN
- SelectWindow(fWPtr)
- ELSE
- DragWindow(fWPtr, where, gDragRect);
- inGoAway:
- IF TrackGoAway(fWPtr, where) THEN
- self.DoClose;
- inGrow:
- self.Grow;
- inZoomIn, inZoomOut:
- IF TrackBox(fWPtr, where, vPart) THEN
- self.Zoom(vPart);
- inContent:
- IF fWPtr <> FrontWindow THEN
- SelectWindow(fWPtr)
- ELSE
- self.ClickInContent(where);
- OTHERWISE
- END;
- SetPort(vSavePort);
- END; {ClickInWindow}
-
- {----------------------------------------}
- PROCEDURE TWindow.KeyPress (vChar: CHAR);
- BEGIN
- oDocument.KeyPress(vChar);
- END; {KeyPress}
-
- {----------------------------------------}
- PROCEDURE TWindow.Update;
- VAR
- vSavePort: GrafPtr;
-
- BEGIN
- GetPort(vSavePort);
- SetPort(fWPtr);
- BeginUpdate(fWPtr);
- SetClip(fControlRgn);
- IF fWKind <> kNoGrow THEN
- DrawGrowIcon(fWPtr);
- DrawControls(fWPtr);
- SetClip(fDisplayRgn);
- EraseRgn(fDisplayRgn);
- oDocument.Update;
- ClipRect(fWPtr^.portRect);
- EndUpdate(fWPtr);
- SetPort(vSavePort);
- END; {Update}
-
- {----------------------------------------}
- PROCEDURE TWindow.Activate;
- BEGIN
- SetPort(fWPtr);
- oDocument.Activate;
- END; {Activate}
-
- {----------------------------------------}
- PROCEDURE TWindow.Edit (vItem: Integer);
- BEGIN
- oDocument.Edit(vItem);
- END; {Edit}
-
- {----------------------------------------}
- PROCEDURE TWindow.Free;
- BEGIN
- oDocument.Free;
- DisposeRgn(fControlRgn);
- DisposeRgn(fDisplayRgn);
- DisposeWindow(fWPtr);
- INHERITED Free;
- END; {Free}
-
- {========================================}
- FUNCTION TGrowWindow.ControlRgn: RgnHandle;
- VAR
- vRgn: RgnHandle;
-
- BEGIN
- vRgn := NewRgn;
- uRect := fWPtr^.portRect;
- WITH uRect DO
- BEGIN
- left := right - kSBarWidth;
- top := bottom - kSBarWidth;
- END;
- RectRgn(vRgn, uRect);
-
- ControlRgn := vRgn;
- END; {ControlRgn}
-
- {----------------------------------------}
- PROCEDURE TGrowWindow.Initialize;
- BEGIN
- GetIndString(uTitle, kStrListID, 1);
- uTitle := Concat(uTitle, uNr);
- uVisible := FALSE;
- uWindID := documentProc;
- uGoAway := TRUE;
- uRefVal := 0;
- END; {Initialize}
-
- {----------------------------------------}
- PROCEDURE TGrowWindow.Grow;
- VAR
- vNewSize: LongInt;
- vWidth: Integer;
- vHeight: Integer;
- vHFlag, vVFlag: BOOLEAN;
-
- BEGIN
- vNewSize := GrowWindow(fWPtr, gEvent.where, gGrowRect);
- IF vNewSize <> 0 THEN
- BEGIN
- vWidth := LoWord(vNewSize);
- vHeight := HiWord(vNewSize);
- WITH fWPtr^.portRect DO
- BEGIN
- vHFlag := (vWidth > (right - left));
- vVFlag := (vHeight > (bottom - top));
- END;
- IF vHFlag OR vVFlag THEN
- BEGIN
- EraseRgn(fControlRgn);
- InvalRgn(fControlRgn);
- END;
- SizeWindow(fWPtr, vWidth, vHeight, TRUE);
- self.ReDrawContent;
- IF NOT vHFlag OR NOT vVFlag THEN
- BEGIN
- EraseRgn(fControlRgn);
- InvalRgn(fControlRgn);
- END;
- END;
- END; {Grow}
-
- {----------------------------------------}
- PROCEDURE TGrowWindow.Activate;
- BEGIN
- INHERITED Activate;
- SetClip(fControlRgn);
- DrawGrowIcon(fWPtr);
- ClipRect(fWPtr^.portRect);
- END; {Activate}
-
- {========================================}
- FUNCTION TScrollWindow.ControlRgn: RgnHandle;
- VAR
- vRgn1, vRgn2: RgnHandle;
-
- BEGIN
- vRgn1 := INHERITED ControlRgn;
- IF fWKind IN [kHScroll, kScroll, kHScrollZoom, kScrollZoom] THEN
- BEGIN
- vRgn2 := NewRgn;
- WITH fWPtr^.portRect DO
- SetRect(uRect, left, bottom - kSBarWidth, right - kSBarWidth, bottom);
- RectRgn(vRgn2, uRect);
- UnionRgn(vRgn1, vRgn2, vRgn1);
- DisposeRgn(vRgn2);
- END;
- IF fWKind IN [kVScroll, kScroll, kVScrollZoom, kScrollZoom] THEN
- BEGIN
- vRgn2 := NewRgn;
- WITH fWPtr^.portRect DO
- SetRect(uRect, right - kSBarWidth, top, right, bottom - kSBarWidth);
- RectRgn(vRgn2, uRect);
- UnionRgn(vRgn1, vRgn2, vRgn1);
- DisposeRgn(vRgn2);
- END;
- ControlRgn := vRgn1;
- END; {ControlRgn}
-
- {----------------------------------------}
- PROCEDURE TScrollWindow.DoNew (vDocType: OSType);
- BEGIN
- INHERITED DoNew(vDocType);
- oHBar := NIL;
- oVBar := NIL;
- IF fWKind IN [kHScroll, kScroll, kHScrollZoom, kScrollZoom] THEN
- BEGIN
- New(oHBar);
- oHBar.oDocument := self.oDocument;
- WITH fWPtr^.portRect DO
- SetRect(uRect, -1 + kHBarMargin, bottom - kSBarWidth, right - kSBarWidth + 1, bottom + 1);
- oHBar.DoNew(kHBar, fWPtr, uRect);
- END;
- IF fWKind IN [kVScroll, kScroll, kVScrollZoom, kScrollZoom] THEN
- BEGIN
- New(oVBar);
- oVBar.oDocument := self.oDocument;
- WITH fWPtr^.portRect DO
- SetRect(uRect, right - kSBarWidth, -1, right + 1, bottom - kSBarWidth + 1);
- oVBar.DoNew(kVBar, fWPtr, uRect);
- END;
- InitAutoScroll(oDocument);
- END; {DoNew}
-
- {----------------------------------------}
- PROCEDURE TScrollWindow.DoOpen (vFileName: Str255;
- vVolNum: Integer);
- BEGIN
- INHERITED DoOpen(vFileName, vVolNum);
- IF oHBar <> NIL THEN
- oHBar.Adjust;
- IF oVBar <> NIL THEN
- oVBar.Adjust;
- END; {DoOpen}
-
- {----------------------------------------}
- PROCEDURE TScrollWindow.ReDrawContent;
- BEGIN
- INHERITED ReDrawContent;
- IF oHBar <> NIL THEN
- BEGIN
- WITH fWPtr^.portRect DO
- SetRect(uRect, -1 + kHBarMargin, bottom - kSBarWidth, right - kSBarWidth + 2 - kHBarMargin, kSBarWidth + 1);
- oHBar.ReDraw(uRect);
- END;
- IF oVBar <> NIL THEN
- BEGIN
- WITH fWPtr^.portRect DO
- SetRect(uRect, right - kSBarWidth, -1, kSBarWidth + 1, bottom - kSBarWidth + 2);
- oVBar.ReDraw(uRect);
- END;
- END; {ReDrawContent}
-
- {----------------------------------------}
- PROCEDURE TScrollWindow.ClickInContent (vPt: Point);
- VAR
- vPart: Integer;
- vCtlHdl: ControlHandle;
-
- BEGIN
- GlobalToLocal(vPt);
- vPart := FindControl(vPt, fWPtr, vCtlHdl);
- CASE vPart OF
- inUpButton..inPageDown, inThumb:
- CASE GetCRefCon(vCtlHdl) OF
- kHBar:
- oHBar.ClickInSBar(vPart, vPt);
- kVBar:
- oVBar.ClickInSBar(vPart, vPt);
- END;
- inButton:
- ;
- inCheckBox:
- ;
- OTHERWISE
- BEGIN
- IF oHBar <> NIL THEN
- oHBar.SetupAutoScroll(fWKind);
- IF oVBar <> NIL THEN
- oVBar.SetupAutoScroll(fWKind);
- LocalToGlobal(vPt);
- INHERITED ClickInContent(vPt);
- END;
- END;
- END; {ClickInContent}
-
- {----------------------------------------}
- PROCEDURE TScrollWindow.KeyPress (vChar: CHAR);
- BEGIN
- INHERITED KeyPress(vChar);
- IF oHBar <> NIL THEN
- oHBar.Adjust;
- IF oVBar <> NIL THEN
- oVBar.Adjust;
- END; {KeyPress}
-
- {----------------------------------------}
- PROCEDURE TScrollWindow.Activate;
- BEGIN
- INHERITED Activate;
- IF oHBar <> NIL THEN
- oHBar.Activate;
- IF oVBar <> NIL THEN
- oVBar.Activate;
- END; {Activate}
-
- {----------------------------------------}
- PROCEDURE TScrollWindow.Edit (vItem: Integer);
- BEGIN
- INHERITED Edit(vItem);
- IF oHBar <> NIL THEN
- oHBar.Adjust;
- IF oVBar <> NIL THEN
- oVBar.Adjust;
- END; {Edit}
-
- {----------------------------------------}
- PROCEDURE TScrollWindow.Free;
- BEGIN
- KillControls(fWPtr);
- IF oHBar <> NIL THEN
- oHBar.Free;
- IF oVBar <> NIL THEN
- oVBar.Free;
- INHERITED Free;
- END; {Free}
-
- {========================================}
- PROCEDURE TScrollZoomWindow.Initialize;
-
- BEGIN
- GetIndString(uTitle, kStrListID, 1);
- uTitle := Concat(uTitle, uNr);
- uVisible := FALSE;
- uWindID := documentProc + kScrollZoom;
- uGoAway := TRUE;
- uRefVal := 0;
- END; {Initialize}
-
- {----------------------------------------}
- PROCEDURE TScrollZoomWindow.Zoom (vPart: Integer);
- BEGIN
- EraseRect(fWPtr^.portRect);
- ZoomWindow(fWPtr, vPart, TRUE);
- self.ReDrawContent;
- END; {Zoom}
-
- END. {unit StdWindows}
- {***********************************}